package swapper.facade;

import swapper.model.dao.ProdutoDao;
import java.util.List;
import java.util.Date;
import swapper.model.bean.Produto;
import swapper.model.dao.CategoriaDao;

/**
 *
 * @author Valentino
 */
public class ProdutoFacade implements IFacade {

    ProdutoDao produtodao;
    CategoriaDao categoriadao;

    public void setProdutoDao(ProdutoDao produtodao) {
        this.produtodao = produtodao;
    }
    public void setCategoriaDao(CategoriaDao categoriadao) {
        this.categoriadao = categoriadao;
    }

    @Override
    public Object addNew(Object obj) {
        return produtodao.addNew(obj);
    }

    @Override
    public void delete(Object obj) {
        produtodao.delete(obj);
    }

    @Override
    public void update(Object obj) {
        produtodao.update(obj);
    }

    @Override
    public List<Object> listAll() {
        return produtodao.listAll();
       //return produtodao.listByExample((Produto)produtodao.listAll());
    }

    @Override
    public Object findByCod(Long codigo) {
        return produtodao.findByCod(codigo);
    }

    @Override
    public List<Object> findByName(String name) {
        return produtodao.findByName(name);
    }

    public List<Object> listByCategoria(Long c) {
        return produtodao.listByCategoria(categoriadao.findByCod(c));
    }
    
    
    public Produto newProduto()
    {
        Produto produto = new Produto();
        produto.setDisponivel(true);
        produto.setDataRegistro(new Date().getTime());
        
        return produto;
    }
    
    
    public List<Object> listAllChange(Long codigo) {
        return produtodao.listAllChange(codigo);
       //return produtodao.listByExample((Produto)produtodao.listAll());
    }
    
}
